package com.kxmall.vehicle.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.kxmall.common.annotation.ExcelDictFormat;
import com.kxmall.common.convert.ExcelDictConvert;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


/**
 * 餐车信息对象
 */
@Data
@ApiModel("餐车信息对象")
@ExcelIgnoreUnannotated
public class KxVehicleVo {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "餐车信息表ID")
    @ExcelProperty(value = "餐车信息表ID")
    private Long id;

    @ApiModelProperty(value = "餐车动力单元编号")
    @ExcelProperty(value = "餐车动力单元编号")
    private String vehicleNo;

    @ApiModelProperty(value = "餐车号/名称")
    @ExcelProperty(value = "餐车号/名称")
    private String vehicleName;

    @ApiModelProperty(value = "餐车柜子总数量")
    @ExcelProperty(value = "餐车柜子总数量")
    private Integer boxNum;

    @ApiModelProperty(value = "车辆地址编码")
    @ExcelProperty(value = "车辆地址编码")
    private String adcode;

    @ApiModelProperty(value = "省")
    @ExcelProperty(value = "省")
    private Long province;

    @ApiModelProperty(value = "省")
    @ExcelProperty(value = "省")
    private String provinceName;

    @ApiModelProperty(value = "市")
    @ExcelProperty(value = "市")
    private Long city;

    @ApiModelProperty(value = "市")
    @ExcelProperty(value = "市")
    private String cityName;

    @ApiModelProperty(value = "区（县）")
    @ExcelProperty(value = "区", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "县=")
    private Long county;

    @ApiModelProperty(value = "区（县）")
    @ExcelProperty(value = "区")
    private String countyName;

    @ApiModelProperty(value = "详细地址")
    @ExcelProperty(value = "详细地址")
    private String address;

    @ApiModelProperty(value = "备注")
    @ExcelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "状态 0.禁用 1.正常")
    @ExcelProperty(value = "状态 0.禁用 1.正常")
    private Integer state;

    @ApiModelProperty(value = "是否在线 0 不在线 1 在线")
    @ExcelProperty(value = "是否在线 0 不在线 1 在线")
    private Integer isOnline;

    @ApiModelProperty(value = "经度")
    @ExcelProperty(value = "经度")
    private BigDecimal longitude;

    @ApiModelProperty(value = "纬度")
    @ExcelProperty(value = "纬度")
    private BigDecimal latitude;

    @ApiModelProperty(value = "餐车管理电话")
    @ExcelProperty(value = "餐车管理电话")
    private String phone;

    @ApiModelProperty(value = "餐车管理名称")
    @ExcelProperty(value = "餐车管理名称")
    private String leaderName;

    @ApiModelProperty(value = "创建者")
    @ExcelProperty(value = "创建者")
    private String createBy;

    @ApiModelProperty(value = "创建时间")
    @ExcelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "更新者")
    @ExcelProperty(value = "更新者")
    private String updateBy;

    @ApiModelProperty(value = "更新时间")
    @ExcelProperty(value = "更新时间")
    private Date updateTime;

    @ApiModelProperty(value = "餐车柜格状态商品信息列表")
    private List<KxVehicleBoxGoodsVo> vehicleBoxGoodsVos;
}
